extends Node

#单位配置目录列表
const CONFIG_PATH_LIST = ["res://data/units/"]

#物品ID->物品信息映射关系
var _unit_meta_map : Dictionary = {}

#添加一个单位
func _add_unit_meta(unit_meta : UnitMeta):
	_unit_meta_map[unit_meta.unit_id] = unit_meta

#根据ID查询物品信息	
func get_unit_meta(unit_id : String) -> UnitMeta:
	if _unit_meta_map.has(unit_id):
		return _unit_meta_map[unit_id]
	return null

#加载所有物品信息
func _load_all_config():
	for config_path in CONFIG_PATH_LIST:
		var file_list = Util.list_dir_files(config_path)
		for file_name in file_list:
			if file_name.ends_with("json"):
				_load_from_csv(file_name)

#从一个csv中读取单位信息
func _load_from_csv(json_path : String):
	var file = FileAccess.open(json_path, FileAccess.READ)
	var header : Array = file.get_csv_line()
	var text = file.get_as_text()
	if len(text) <= 0:
		return
	JSON.parse_string()
	while line != null && line.size() > 1:
		var unit_meta = _parse_to_unit_meta(header, line)
		add_unit_meta(unit_meta)
		line = file.get_csv_line()
	file.close()
